/*!
  \file
  Interface class for image FFT
*/

#include <complex>
#include "hhvolume.hpp"

#ifndef FFT_IMAGE_HPP
#define FFT_IMAGE_HPP

//! Abstract class to describe FFT of an image
class FFTimage {
public:
  //! Forward transform interface
  virtual void Forward( SciGPU::HHV::HHVolume< std::complex<float>,2>& dst,
                        const SciGPU::HHV::HHVolume<float,2>& src ) const = 0;

  //! Inverse transform interface
  virtual void Inverse( SciGPU::HHV::HHVolume<float,2>& dst,
                        const SciGPU::HHV::HHVolume< std::complex<float>,2>& src ) const = 0;
private:
};

#endif
